java - Java 中 GUI 的 JUnit 测试
全部标签 我是使用React-Jest-Enzyme进行测试的新手,但从我收集的所有相关信息来看,在我看来,大多数测试实际上都在测试如果React库崩溃,而不是我的实际业务逻辑。我举几个例子,如果我错了请指正:快照测试:这个策略有什么问题?据我所知,它的主要目的是捕获对我的代码的任何不需要的更改。它“stringify”我的组件树,并注意到是否添加了任何新的换行符/字符,对吗?所以它主要用于那些我可能不小心按下键盘的情况?或者其他人不小心弄乱了我的代码?Enzyme的mount/shallow和Jest的我看到的大多数解释你如何使用它们的例子都是这样的:constwrapper=mount()e
我用大量CSS3和Javascript制作了一个占用大量CPU资源的网页。我想使用Javascript来测试用户的计算机是否能够处理脚本。我认为一种可能的方法是运行一些CPU密集型脚本,然后查看需要多长时间。但是,我不知道如何实际实现它。这是网页:http://leojiang.me/(3D立方体只能在webkit浏览器中查看)。 最佳答案 您可以分析渲染一帧或几帧需要多长时间,这应该让您了解客户端上的fps是多少。varStartTime=newDate().getTime();BenchMarkTestFunction();//
这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭6年前。我对这怎么可能感到困惑......varmatcher=newRegExp("d","gi");matcher.test(item)上面的代码包含以下值item="DouglasEnas"matcher=/d/gi然而,当我连续运行matcher.test函数时,我第一次运行时得到true,第二次运行时得到false。matcher.test(item)//truematcher.test(item)//false如果我使用正则表达式,例如/d/
代码是当数组中的值与索引相同时,返回数组中最低的索引。如果没有匹配项,我应该返回-1。例如:indexEqualsValue([-8,0,2,5])output:2//array[2]==2indexEqualsValue([-1,0,3,6])output:-1//nomatches代码在没有匹配项或数组长度为零时有效,但在其他时间无效。我认为问题是我的if语句中的第一个条件。我不一定想要答案,更多关于我应该检查/重写的提示。谢谢!functionindexEqualsValue(a){returna.reduce((acc,currV,currI)=>{if(currI===cur
我使用qunit为我拥有的javascript代码编写了一系列测试。现在由于某种原因,我列表中的第一个测试将运行,然后列表中的最后一个测试运行,然后是倒数第二个、倒数第三个、倒数第四个等等……这对我的测试至关重要事情按照我的顺序运行。我尝试关闭该选项,其中qunit首先运行上次失败的测试,但它仍在这样做。有什么办法可以解决这个问题吗? 最佳答案 首先,弄清楚为什么您的测试必须按特定顺序运行。单元测试的全部意义在于测试是原子的,应该可以按任何顺序运行它们——如果你的测试套件不能做到这一点,你需要找出原因,因为它可能代表一个更大的问题。
我使用dat.gui为我的Three.js应用制作了一个菜单。它工作正常,我还发现按h键可以隐藏使用dat.gui创建的菜单。我的问题是如何让菜单直接从代码中出现/消失?vargui=newdat.GUI();gui.add(text,'message');gui.add(text,'speed',-5,5);gui.???我尝试使用隐藏DOMElement的属性并且它有效,但我想要一种独特的方式来处理此功能。有调用函数吗?我注意到与击键相关的JavaScript事件通过库中的绑定(bind)与范围相关。但这样做的正确方法是什么? 最佳答案
我们正在构建一个Angular应用程序,我们正在尝试弄清楚如何获得一些关于呈现各种页面所需时间的基准。我读过关于performance.timinghere的内容,但这似乎只对非单页应用程序有用,因为当我导航到我们应用程序中的新View时,计时数字不会改变。理想情况下,我们能够插入一些代码来获取各种View的渲染时间,并将其发布到我们的大查询服务中。关于如何在Angular应用中获取View的计时信息有什么想法吗?编辑:更具体地说,您转到了一个加载大型ng-repeat列表的路由(这对于性能来说不是最优的),并且窗口在实际呈现列表中的项目之前有很长的延迟。我们想看看从大空白View到呈
我正在用Javascript编写一组要在浏览器中执行的函数(没有服务器端Javascript)。如何在不同的浏览器中对它们再次运行单元和性能测试,并跟踪每个构建的结果?测试应该在浏览器中执行测试结果应作为独立的文本或html文件生成目标浏览器是InternetExplorer7和8、最新的Firefox、最新的Chrome、最新的Safari如果需要,我可以自由设置专用的CI服务器和虚拟机 最佳答案 我一直在使用Jasmine框架进行测试和JSTestDriver。作为评估的一部分,我还为CI设置了Hudson和TeamCity,但
我喜欢用于JavaScript单元测试的qUnit,并且已经成功地将它用于一个几乎完全是AJAX的大型Web托管平台。但是,我必须手动在浏览器中运行它,或者将其作为Windows计划任务运行,这并不理想。有没有人将jUnit测试作为自动化测试套件的一部分运行,就像您在(比如说)perl或Java中那样? 最佳答案 最简单的方法可能是使用Selenium2运行qUnit测试,来自JUnit测试。Selenium2在Firefox、IE、Chrome或它自己的HtmlDriver中打开网页,几乎可以用呈现的页面做任何事情,尤其是qUni
我设置了grunt来运行node.jsJasmine测试。出于某种原因,使用此配置,结果总是显示双倍的测试。这是我的配置:我正在使用jasmine-node插入grunt。/spec/some-spec.js:varmyModule=require('../src/myModule.js');describe('test',function(){it('works',function(done){setTimeout(function(){expect(1).toBe(1);done();},100);});});Gruntfile.js:module.exports=function